home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / infosrvr / dev / www_talk.930 / 000303_timbl@www3.cern.ch _Tue Nov 10 16:33:46 1992.msg < prev    next >
Internet Message Format  |  1994-01-24  |  11KB

  1. Return-Path: <timbl@www3.cern.ch>
  2. Received: from dxmint.cern.ch by  nxoc01.cern.ch  (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0)
  3.     id AA16599; Tue, 10 Nov 92 16:33:46 MET
  4. Received: by dxmint.cern.ch (dxcern) (5.57/3.14)
  5.     id AA17370; Tue, 10 Nov 92 16:46:27 +0100
  6. Received: by www3.cern.ch (NX5.67c/NX3.0S)
  7.     id AA00530; Tue, 10 Nov 92 16:42:26 +0100
  8. Date: Tue, 10 Nov 92 16:42:26 +0100
  9. From: Tim Berners-Lee <timbl@www3.cern.ch>
  10. Message-Id: <9211101542.AA00530@www3.cern.ch>
  11. Received: by NeXT.Mailer (1.87.1)
  12. Received: by NeXT Mailer (1.87.1)
  13. To: Dan Connolly <connolly@pixel.convex.com>
  14. Subject: Strategy for merging NIR applications
  15. Cc: www-talk@nxoc01.cern.ch
  16. Reply-To: timbl@nxoc01.cern.ch
  17.  
  18. At the end are some condensed thoughts about directions for merging  
  19. applications.
  20.  
  21. |  Date: Tue, 03 Nov 92 14:08:54 CST
  22. |  From: Dan Connolly <connolly@pixel.convex.com>
  23. |  
  24.  
  25. |  >> Dan:
  26. |  >>     Should WAIS clients grok URLs? I don't see any need.  Similarly for
  27. |  >>     gopher clients.
  28. |  > Tim:
  29. |  >    If you want to keep the WAIS and Gopher worlds totally distinct,
  30. |  >    then no.  But who wants to have all these separate clients around?
  31. |  >    Noone: that is the big user puzzlement with NIR now -- why so
  32. |  >    many systems when they all do the same thing? The first step
  33. |  >    toward merging existing systems, *AND* allowing for future systems
  34. |  >    smarter than the ones we have thought of now, is the URL.
  35. |  Dan:
  36. |  Well, you took the bait, but you didn't run with it very far.
  37. |  "The first step towards merging..." -- so you _do_ have a deployment
  38. |  strategy in mind. You just didn't put it in the RFC.
  39.  
  40. (Can you punt bait?)
  41.  
  42. The RFC is to define one piece of the whole. It is most important to
  43. keep the peices distinct, or the whole thing will be too rigid. I suppose we  
  44. could propose "All the world should use W3 and we should all discuss what W3  
  45. should be like next" but that would never fly. We see that URLs are essential  
  46. to allow communication between applications and different environments and for  
  47. the introduction of new namespaces.
  48.  
  49. |  I'd like to see more motivation in the form of a strategy or at
  50. |  least a vision for how this whole thing comes together. I'm trying
  51. |  to piece it together myself, but I'm not having much luck.
  52.  
  53. That may be because the bits aren't available.  Like a global solid reliable
  54. directory system, for example, and a global payment mechanism or two, and  
  55. athentication systems to support it.  These just aren't globally deployed yet  
  56. so we will have to wait for them and then plug them in.  What we do have is the  
  57. internet, TCP/IP and DNS and we have to put hooks for everything else.
  58.  
  59. |  For example, I really don't see why different protocols should
  60. |  share addressing schemes, or why the sheme:path syntax should
  61. |  go any further than the WWW project.
  62.  
  63. It is the scheme:path syntax which allows the bridge. It need not be used
  64. in closed applications, but in open applications it is needed. W3 will be able
  65. to incrementally move to new name spaces. If other apps don't, too bad.
  66. But I think they do.
  67.  
  68. |  >    Yes. Certainly a useful aspect of URLs. But not the only.
  69. |  >    What about the URL pasteboard type? To allow "cut reference"
  70. |  >    and "paste link" to work between applications?
  71. |  
  72.  
  73. |  I've been trying to work out a design for this, and URLs don't seem
  74. |  to help much. If you copy a WAIS URL and paste it into another
  75. |  client, that client has to grok WAIS protocol in order to use it.
  76.  
  77. Or have access to any WAIS engine. There are 100 ways of keeping a
  78. register for a user for what applications can handle what kinds of
  79. namespace.  This will probably be something which is more difficult
  80. to standardize on, as NeXT and Windows and Motif etc will all have different  
  81. schemes for registering application capabilities, and different  
  82. inter-application messaging techniques.
  83.  
  84. There is some analogy between capabilities to deal with UDIs and capabilities  
  85. to deal with data formats here ... Mark Litwack (are you there, Mark?)
  86. had a scheme in which the two merged.
  87.  
  88. |  Or it has to use a gateway. If it uses a gateway, it has to translate
  89. |  the WAIS name into something suitable to that gateway, which is
  90. |  something you said you didn't think was practical.
  91.  
  92. I don't think the client has to translate anything necessarily.
  93. The http protocol allows one to send over a URL including the
  94. prefix, which need not be http:.  For a protocol which does not deal
  95. in generic URLs, some translation would be necessary.
  96.  
  97. |  Anyway, if you're
  98. |  going to define a gateway system, then define a gateway system, not
  99. |  just an addressing syntax.
  100.  
  101. The gateway system is a time differential of the set of protocols used.
  102. It will always change to reflect the movements between protocols. I agree
  103. that the HTTP protocol could perhaps have something in the spec to point out  
  104. that the full UDI may be sent to a gateway.
  105.  
  106. |  I'm trying to figure out how URLs complete the picture, but I don't
  107. |  see it.
  108. |  
  109.  
  110.  
  111. There will be a few things in the picture. URLs are the most important next  
  112. step now, a timely requeirement for commonality. That's all. They will not  
  113. solve all the problems.
  114.  
  115. You want a merging strategy. Suppose it is as follows, off the top of my head.
  116.  
  117.               MERGING STRATEGY
  118.  
  119. The metastrategy fro developing strategies is to first, make a model of
  120. a superset of the functionality of the various systems, then design protocols  
  121. to implement them, then make applications which use both old and new. Beware  
  122. that merging all the applications onto one is only one as seen from the user,  
  123. hopefully there would be separately developed products on there with messaging  
  124. between them. 
  125.  
  126.  
  127.     Merging WWW and WAIS and Z39.50:
  128.  
  129. A new HTTP2 protocol is defined, back-compatible with the current one.
  130. It involves sending a request which is a particular format. There are MIME-like  
  131. formats defined for a simple document request, a basic WAIS-like query, and if  
  132. necessary other Z39.50 queries. This means establishing a mapping between the  
  133. Z39.50 parameters and an ASCII internet-mail-like format. We make the set of  
  134. query types as open as the set of document format types and encoding methods,  
  135. and allow for a registery of names like IANA.  The formats acceptable to the  
  136. client are sent with the request [as mail header lines or in the body?].
  137. The query types acceptable to a server are returned by the server when a  
  138. queryable object is referenced.
  139.  
  140. We look at the parameters necessary for this process and add them to the WAIS  
  141. protocol, so that Z39.50++ becomes a binary (and therefore perhaps more  
  142. efficient) version of HTTP2. The binary and telnet-style versions run  
  143. side-by-side, with fairly simple table-driven interfaces. The telnet version  
  144. will be useful becasue of all those perl servers which will be eth leading  
  145. edge.
  146.  
  147.     Merging with SQL:
  148.  
  149. This model will engulf query/retrieve systems, including e.g. SQL queries,
  150. and allow for upgrade for new ideas of remote operations. In fact, the
  151. query type will generalize to a typed set of input parameters for a arbitrary  
  152. operation [method] on a remote object with the given URL, and so in principle  
  153. can access a globally distributed OODB. In order to get a more manipulable  
  154. version of the results of an SQL query or arbitrary OO operation, we will  
  155. probably need a data tagging system [maybe ASN/1 based?] for structured  
  156. [alpha]numeric data such as SQL handles, but this is just another data format,  
  157. not our problem now. The question of converting data formats on parts of  
  158. multipart messages [structures] will be addressed, nothing uinsurmountable. We  
  159. would obviously like to see a mapping from any OOP's identifier space into URL  
  160. space.
  161.  
  162.     Merging with Mail and News:
  163.  
  164. Now look at what we have. The presentation part of the W3 client is just the  
  165. presentation part of MIME, with an added hypertext data class. MIME really  
  166. should have picked HTML instead of text/richtext, but that we can add.
  167. Now we address the intruiging area of the merging of mail, news, and NIR.
  168. The same application must obviously be able to handle all of these, and they  
  169. should all look the same to the user. That is, if you link an article to a list  
  170. of articles, post it to a newsgroup, or mail it to a mailbox, the operation  
  171. (adding message to list of messages) is beasically the same, and should be sen  
  172. as such. Note that MIME has to be augmented with the addition of query type  
  173. registration, there needs to be a format for the summarizing of capabilities  
  174. (mailcap information) in with requests. The mailcap information needs some  
  175. extension. A spinoff is that the HTTP protocol should run over mail too, which  
  176. though excruciatingly slow is neat as a lot of people still use mail servers  
  177. ;-).  This occured to me when implementing
  178. the W3 server.
  179.  
  180. The mechanisms underneath are currently many and varied in order to be optimal  
  181. in the extreme cases of personal messaging, news broadcasting, and archive  
  182. serving. However, as cache coherency protocols are added to HTTP, the functions  
  183. like "give me a list of what is new in the following domain" will approach NNTP  
  184. functions.  Within time it will become a decision made on the fly by the system  
  185. as to whether a document [message, article] is held, sent, or broadcast. So I  
  186. expect the protocols to converge.  An important issue here will be  
  187. charactization of basic operations on sets [maillistarchives, newsgroups,  
  188. directories].  The engines which speak the new combined protocol will have to  
  189. speak the old ones too for back-compatibilty for a few years. This is
  190. a smooth trasnsition strategy. We're not talking about vast librares, just  
  191. supporting SMTP and NNTP and HTTP for a while (they are very similar) as well  
  192. as a superset protocol.
  193.  
  194.     Stargazing
  195.  
  196. What else do we want to merge in?  Name servers of course are just HTTP2
  197. servers which return "forward" results. File systems, I expect, too, will veer  
  198. in the general direction. Alex-like systems will map the retrieval subset onto  
  199. the subset. Maybe soft links could generalise to URLs. Maybe some smart  
  200. manufacturers will allow a soft link to be a URL.  If not, file suffix which  
  201. indicates a query or just .MIME would be enough to indicate that the document  
  202. contains type information and could be a pointer or a query. However, there is  
  203. basic functionality which the file sysyem does not support (That is, anything  
  204. other than open, read write and close: no arbitrary methods here) so we will  
  205. never map everything to fopen(). But by that time we'l all be using our  
  206. favorite OO systems anyway. The exciting part will be to see whether the GUI  
  207. builders will get to the point that the whole OO application can by built  
  208. graphically, bridging the gap between the app builders and real programs (Can  
  209. you imagine progamming in perl with a mouse? in Eiffel?)
  210.  
  211.     Tim
  212.     
  213.  
  214. __________________________________________________________
  215. Tim Berners-Lee                       timbl@info.cern.ch
  216. World Wide Web initiative             (NeXTMail is ok)    
  217. CERN                                  Tel: +41(22)767 3755
  218. 1211 Geneva 23, Switzerland           Fax: +41(22)767 7155
  219.  
  220.  
  221.